Computer software applications often provide mechanisms for extensibility, such that third party developers may create third-party applications adding functionality to host software. Extensibility is typically provided by permitting access to published or unpublished application program interfaces (APIs) within the host software.
Traditionally, APIs were made openly available to anyone desiring to access the APIs to encourage development and increased functionality of the underlying software. Accordingly, APIs may be freely used to provide enhanced functionality and to deliver additional functionality to end-users. However, APIs may also be targeted by malicious parties, which may exploit the APIs for malicious purposes to attack the underlying software and/or attack other software. When users are utilizing a trusted application, for instance, it is often difficult for the users to know when to trust third-party applications that plug into the trusted application and extend functionality. Thus, users may unknowingly install an untrustworthy, rouge, or malicious extensibility application that may cause harm.